
package com.jf.cloud.product.dto;

import com.jf.cloud.product.model.StockBillLogItem;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 出入库明细DTO
 *
 * @author zz
 * @date 2022-06-22 16:57:26
 */
public class StockBillLogDTO{
    private static final long serialVersionUID = 1L;

    @Schema(description = "出入库明细id" )
    private Long stockBillLogId;

    @Schema(description = "出入库单号" )
    private String stockBillNo;

    @Schema(description = "关联订单号" )
    private String  sourceOrderNo;

    @Schema(description = "单据类型" )
    private Integer stockBillType;

    @Schema(description = "出入库原因id" )
    private Long stockChangeReasonId;

    @Schema(description = "操作员工id" )
    private Long employeeId;

    @Schema(description = "状态，0：已作废，1：已出/入库，2：待提交" )
    private Integer status;

    @Schema(description = "出入库时间" )
    private Date businessTime;

    @Schema(description = "总出入库数量" )
    private Integer totalCount;

    @Schema(description = "总出入库金额" )
    private Long totalAmount;

    @Schema(description = "出入库凭证" )
    private String qualifications;

    @Schema(description = "店铺id" )
    private Long shopId;

    @Schema(description = "供应商id" )
    private Long supplierId;

    @Schema(description = "备注" )
    private String remark;

    @Schema(description = "类型，1：出库 2：入库" )
    private Integer type;

    @Schema(description = "制单人手机号" )
    private String makerMobile;

    @Schema(description = "出入库开始时间" )
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date businessStartTime;

    @Schema(description = "出入库结束时间" )
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date businessEndTime;

    @Schema(description = "1：商品名称 2：商品编码" )
    private Integer prodKeyType;

    @Schema(description = "搜索商品关键词(0:商品名称 1：商品编码)" )
    private String prodKey;

    @Schema(description = "制单开始时间" )
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createStartTime;

    @Schema(description = "制单结束时间" )
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createEndTime;

    @Schema(description = "出入库商品项列表" )
    private List<StockBillLogItem> stockBillLogItems;

    @Schema(description = "出入库商品项列表(导出库存流水：批量操作时，用此参数)(批量处理参数)" )
    private List<Long> stockBillLogItemIds;

    @Schema(description = "出入库明细id(导出出入库明细：批量操作时，用此参数)(批量处理参数)" )
    private List<Long> stockBillLogIds;

    public List<Long> getStockBillLogIds() {
        return stockBillLogIds;
    }

    public void setStockBillLogIds(List<Long> stockBillLogIds) {
        this.stockBillLogIds = stockBillLogIds;
    }

    public Date getBusinessStartTime() {
        return businessStartTime;
    }

    public void setBusinessStartTime(Date businessStartTime) {
        this.businessStartTime = businessStartTime;
    }

    public Date getBusinessEndTime() {
        return businessEndTime;
    }

    public void setBusinessEndTime(Date businessEndTime) {
        this.businessEndTime = businessEndTime;
    }

    public Integer getProdKeyType() {
        return prodKeyType;
    }

    public void setProdKeyType(Integer prodKeyType) {
        this.prodKeyType = prodKeyType;
    }

    public String getProdKey() {
        return prodKey;
    }

    public void setProdKey(String prodKey) {
        this.prodKey = prodKey;
    }

    public Date getCreateStartTime() {
        return createStartTime;
    }

    public void setCreateStartTime(Date createStartTime) {
        this.createStartTime = createStartTime;
    }

    public Date getCreateEndTime() {
        return createEndTime;
    }

    public void setCreateEndTime(Date createEndTime) {
        this.createEndTime = createEndTime;
    }



    public List<StockBillLogItem> getStockBillLogItems() {
        return stockBillLogItems;
    }

    public void setStockBillLogItems(List<StockBillLogItem> stockBillLogItems) {
        this.stockBillLogItems = stockBillLogItems;
    }



    public List<Long> getStockBillLogItemIds() {
        return stockBillLogItemIds;
    }

    public void setStockBillLogItemIds(List<Long> stockBillLogItemIds) {
        this.stockBillLogItemIds = stockBillLogItemIds;
    }

    public Long getStockBillLogId() {
        return stockBillLogId;
    }

    public void setStockBillLogId(Long stockBillLogId) {
        this.stockBillLogId = stockBillLogId;
    }

    public String getStockBillNo() {
        return stockBillNo;
    }

    public void setStockBillNo(String stockBillNo) {
        this.stockBillNo = stockBillNo;
    }

    public String  getSourceOrderNo() {
        return sourceOrderNo;
    }

    public void setSourceOrderNo(String  sourceOrderNo) {
        this.sourceOrderNo = sourceOrderNo;
    }

    public Integer getStockBillType() {
        return stockBillType;
    }

    public void setStockBillType(Integer stockBillType) {
        this.stockBillType = stockBillType;
    }

    public Long getStockChangeReasonId() {
        return stockChangeReasonId;
    }

    public void setStockChangeReasonId(Long stockChangeReasonId) {
        this.stockChangeReasonId = stockChangeReasonId;
    }

    public Long getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Long employeeId) {
        this.employeeId = employeeId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getBusinessTime() {
        return businessTime;
    }

    public void setBusinessTime(Date businessTime) {
        this.businessTime = businessTime;
    }

    public Integer getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(Integer totalCount) {
        this.totalCount = totalCount;
    }

    public Long getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Long totalAmount) {
        this.totalAmount = totalAmount;
    }

    public String getQualifications() {
        return qualifications;
    }

    public void setQualifications(String qualifications) {
        this.qualifications = qualifications;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getMakerMobile() {
        return makerMobile;
    }

    public void setMakerMobile(String makerMobile) {
        this.makerMobile = makerMobile;
    }

    @Override
    public String toString() {
        return "StockBillLogDTO{" +
                "stockBillLogId=" + stockBillLogId +
                ",stockBillNo=" + stockBillNo +
                ",sourceOrderNo=" + sourceOrderNo +
                ",stockBillType=" + stockBillType +
                ",stockChangeReasonId=" + stockChangeReasonId +
                ",employeeId=" + employeeId +
                ",status=" + status +
                ",businessTime=" + businessTime +
                ",totalCount=" + totalCount +
                ",totalAmount=" + totalAmount +
                ",qualifications=" + qualifications +
                ",shopId=" + shopId +
                ",supplierId=" + supplierId +
                ",remark=" + remark +
                ",type=" + type +
                ",makerMobile=" + makerMobile +
                '}';
    }
}
